using System.Configuration;

namespace Microsoft.ConnectionEngine.SampleDeploymentManager.Configuration
{
    internal class WizardPageConfig : ConfigurationElement
    {
        #region Public properties
        [ConfigurationProperty("name", IsRequired = true, IsKey = true)]
        public string Name
        {
            get { return this["name"].ToString(); }
            set { this["name"] = value; }
        }

        [ConfigurationProperty("title", IsRequired = true, IsKey = false)]
        public string Title
        {
            get { return this["title"].ToString(); }
            set { this["title"] = value; }
        }

        [ConfigurationProperty("previousPageName", IsRequired = false, DefaultValue = "", IsKey = false)]
        public string PreviousPageName
        {
            get { return this["previousPageName"].ToString(); }
            set { this["previousPageName"] = value; }
        }

        [ConfigurationProperty("nextPageName", IsRequired = false, DefaultValue = "", IsKey = false)]
        public string NextPageName
        {
            get { return this["nextPageName"].ToString(); }
            set { this["nextPageName"] = value; }
        }

        [ConfigurationProperty("isProcessingPage", IsRequired = false, DefaultValue = false, IsKey = false)]
        public bool IsProcessingPage
        {
            get { return (bool)this["isProcessingPage"]; }
            set { this["isProcessingPage"] = value; }
        }

        [ConfigurationProperty("isClosePage", IsRequired = false, DefaultValue = false, IsKey = false)]
        public bool IsClosePage
        {
            get { return (bool)this["isClosePage"]; }
            set { this["isClosePage"] = value; }
        }

        [ConfigurationProperty("type", IsRequired = true, IsKey = false)]
        public string Type
        {
            get { return this["type"].ToString(); }
            set { this["type"] = value; }
        }
        #endregion
    }
}
